package trabajo.dao;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;

import trabajo.modelo.Alquiler;
import trabajo.modelo.Cancha;
import trabajo.modelo.Horario;
import trabajo.modelo.Servicio;
import trabajo.util.ConexionBD;
import trabajo.excepcion.DAOExcepcion;


public class ServicioDAO extends BaseDAO {
	

	public Servicio obtener(int _idServicio) throws DAOExcepcion {
		System.out.println("ServicioDAO: obtener(int _idServicio)");
		Servicio servicio = new Servicio();
		Connection con = null;
		PreparedStatement stmt = null;
		ResultSet rs = null;
		try {
			String query = "select * from servicio where idservicio = ?";
			con = ConexionBD.obtenerConexion();
			stmt = con.prepareStatement(query);
			stmt.setInt(1, _idServicio);
			rs = stmt.executeQuery();
			if (rs.next()) {				
				servicio.setIdLocal(rs.getInt("idLocal"));
				servicio.setNombre(rs.getString("nombre"));
				servicio.setDescripcion(rs.getString("descripcion"));
				servicio.setCosto(rs.getInt("costo"));
			}
		} catch (SQLException e) {
			System.err.println(e.getMessage());
			throw new DAOExcepcion(e.getMessage());
		} finally {
			this.cerrarResultSet(rs);
			this.cerrarStatement(stmt);
			this.cerrarConexion(con);
		}
		return servicio;
	}
	
	//Registrar un servicio
	public void registarServicio(Servicio _servicio) throws DAOExcepcion {
		System.out.println("ServicioDAO: registarServicio()");
		
		ResultSet rs = null;
		Connection con = null;
		PreparedStatement stmt = null;		
		
		try {
			con = ConexionBD.obtenerConexion();
			String query;
			//insertando el servicio
			query = "insert into servicio (idlocal, nombre, descripcion, costo) VALUES (?, ?, ? ,?)";
			stmt = con.prepareStatement(query);
			stmt.setInt(1, _servicio.getIdLocal());				
			stmt.setString(2, _servicio.getNombre());
			stmt.setString(3, _servicio.getDescripcion());
			stmt.setInt(4, _servicio.getCosto());
			int i = stmt.executeUpdate();				
			if (i != 1) {
				throw new SQLException("No se pudo insertar");
				}										
		} catch (SQLException e) {
			System.err.println(e.getMessage());
			throw new DAOExcepcion(e.getMessage());
		} finally {
			this.cerrarStatement(stmt);
			this.cerrarConexion(con);
		}
	}	

	
	
}
